//Bricks
BitMap Brick(Play_Window);
float XPosition_Bricks[MAXCOLS]; //stores the xcoord of the center of the brick
float YPosition_Bricks[MAXROWS]; //stores the ycoord of the center of the brick
int Presence_Bricks[MAXCOLS][MAXROWS];

void BrickInfo_Load()
{
	int row, column;
	Brick.Load("ice_brick.xpm");
	assert(Brick.GetStatus() == BitMapOkay);
	XPosition_Bricks[0] = 1.5 + Brick.GetWidth()/2;
	for (column = 1; column < MAXCOLS; column++)
	{
		XPosition_Bricks[column] = XPosition_Bricks[column - 1] + xdiff;
	}
	
	YPosition_Bricks[0] = 1.0 + Brick.GetHeight()/2;
	for (row = 1; row < MAXROWS; row++)
	{
		YPosition_Bricks[row] =YPosition_Bricks[row - 1] + ydiff*Brick.GetHeight(); 
	}
};

void build(int lvl)
{
	//loop to create various patterns
	//switch case can be used later to denote different levels
	int row, column;
	Position BrickPosition (1.5, 1.0);
	switch (lvl)
	{
	case 1:
		for(column = 1; column < 9; column++)
		{
		for(row = 1; row < 7; row++)
			{
				Brick.SetPosition(BrickPosition);
				Brick.Draw();
				BrickPosition = BrickPosition + Position(0.0, 1.2*Brick.GetHeight());
			}
		BrickPosition = BrickPosition + Position(3.0, -7.2*Brick.GetHeight());
		}
		//Creation of Array of Positions of Bricks which can be used by other functions i.e. global in nature
		break;
	case 2:
		for(column = 1; column <= 4; column++)
		{
		for(row = 1; row < 5; row++)
			{
				Brick.SetPosition(BrickPosition);
				Brick.Draw();
				BrickPosition = BrickPosition + Position(0.0, 1.2*Brick.GetHeight());
			}
		BrickPosition = BrickPosition + Position(3.0, -5.1*Brick.GetHeight());
		}
		break;
	}
};
/*void ifbrick()
{
int j;
for(j = 0; j < Number_Bricks; j++)
{
if(Presence_Brick[j] == 1)
//1.
if(Xdir == 1 && Ydir == -1 && (X_ball >= Position_Brick[j][0] - bricklength/2 - dia/2) && (X_ball <= Position_Brick[j][0] + bricklength/2 + dia/2) && (Y_ball <= Position_Brick[j][1] + brickwidth/2 + dia/2) && (Y_ball > Position_Brick[j][1] + brickwidth/2 + dia/3))
	{
		xreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}
else if(Xdir == 1 && Ydir == -1 && (Y_ball >= Position_Brick[j][1] - brickwidth/2 - dia/2) && (Y_ball <= Position_Brick[j][1] + brickwidth/2 + dia/2) && (X_ball >= Position_Brick[j][0] - bricklength/2 - dia/2) && X_ball < Position_Brick[j][0] - bricklength/2 - dia/3)
	{
		yreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}		
//2.
else if(Xdir == 1 && Ydir == 1 && (X_ball >= Position_Brick[j][0] - bricklength/2 - dia/2) && (X_ball <= Position_Brick[j][0] + bricklength/2 + dia/2) && (Y_ball >= Position_Brick[j][1] - brickwidth/2 - dia/2)&& (Y_ball < Position_Brick[j][1] - brickwidth/2 - dia/3))
	{
		xreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}
else if(Xdir == 1 && Ydir == 1 && (Y_ball >= Position_Brick[j][1] - brickwidth/2 - dia/2) && (Y_ball <= Position_Brick[j][1] + brickwidth/2 + dia/2) && (X_ball >= Position_Brick[j][0] - bricklength/2 - dia/2) && X_ball < Position_Brick[j][0] - bricklength/2 - dia/3)
	{
		yreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}
//3.
else if(Xdir == -1 && Ydir == 1 && (X_ball >= Position_Brick[j][0] - bricklength/2 - dia/2) && (X_ball <= Position_Brick[j][0] + bricklength/2 + dia/2) && (Y_ball >= Position_Brick[j][1] - brickwidth/2 - dia/2) && (Y_ball < Position_Brick[j][1] - brickwidth/2 - dia/3))
	{
		xreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}
else if(Xdir == -1 && Ydir == 1 && (Y_ball >= Position_Brick[j][1] - brickwidth/2 - dia/2) && (Y_ball <= Position_Brick[j][1] + brickwidth/2 + dia/2) && (X_ball <= Position_Brick[j][0] + bricklength/2 + dia/2) && (X_ball > Position_Brick[j][0] + bricklength/2 + dia/3))
	{
		yreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}
//4.
else if(Xdir == -1 && Ydir == -1 && (X_ball >= Position_Brick[j][0] - bricklength/2 - dia/2) && (X_ball <= Position_Brick[j][0] + bricklength/2 + dia/2) && (Y_ball <= Position_Brick[j][1] + brickwidth/2 + dia/2) && (Y_ball > Position_Brick[j][1] + brickwidth/2 + dia/3))
	{
		xreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}
else if(Xdir == -1 && Ydir == -1 && (Y_ball >= Position_Brick[j][1] - brickwidth/2 - dia/2) && (Y_ball <= Position_Brick[j][1] + brickwidth/2 + dia/2) && (X_ball <= Position_Brick[j][0] + bricklength/2 + dia/2) && (X_ball > Position_Brick[j][0] + bricklength/2 + dia/3))
	{
		yreflect();
		Presence_Brick[j] = 0;
		RectangleShape destroybrick (Play_Window, Position_Brick[j][0],Position_Brick[j][1], Black, bricklength, brickwidth);
		destroybrick.Draw();
	}
}
}*/
